package com.ztesoft.web.index.service;



import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.ztesoft.framework.exception.BaseAppException;
import com.ztesoft.web.common.customdb.dao.dto.ApprovaTaskStageDto;
import com.ztesoft.web.common.customdb.dao.dto.ApprovalDto;
import com.ztesoft.web.index.db.po.SpaceDataPO;



/**
 * @Description 
 * @author Chen.Shitian
 * @date 2015年9月6日 下午8:09:02
 * @since 1.0
 *
 */
public interface IIndexService {
    
	/**
	 * 查询体检的数据大小
	 * @param dataType 数据类型
	 * @param nodeId 所属系统
	 * @return
	 */
	public BigDecimal getCheckUpData(int dataType,int nodeId);
	
	/**
	 * 查询清理的数据大小
	 * @param dataType 数据类型
	 * @param nodeId 所属系统
	 * @return
	 */
	public BigDecimal getCleanUpData(int dataType,int nodeId);

	/**
	 * 查询空间大小
	 * @param sourceType 数据类型
	 * @param nodeId 所属系统
	 * @return
	 */
	public SpaceDataPO getSpaceSize(int sourceType, int nodeId);

	/**
	 * 统计已归档数据空间
	 * @param sourceType 数据类型
	 * @param nodeId 所属系统
	 * @param createDate 创建时间
	 * @param offset 偏移月份
	 * @return
	 */
	public BigDecimal getBackUpDataSize(int sourceType, int nodeId,
			String createDate,int offset);

	/**
	 * 统计扫描结果空间
	 * @param sourceType 数据类型
	 * @param nodeId 所属系统
	 * @param createDate 创建时间
	 * @param offset 偏移月份
	 * @return
	 */
	public BigDecimal getCheckDataSize(int sourceType, int nodeId,
			String createDate,int offset);

	/**
	 * 统计已释放空间
	 * @param sourceType 数据类型
	 * @param nodeId 所属系统
	 * @param createDate 创建时间
	 * @param offset 偏移月份
	 * @return
	 */
	public BigDecimal getResultDataSize(int sourceType, int nodeId,
			String createDate,int offset);
   
	/**
	 * 统计待审核任务数
	 * @param sourceType
	 * @param nodeId
	 * @return
	 */
	public int getIsCheckNum(int sourceType, int nodeId);

	/**
	 * 统计任务数
	 * @param sourceType
	 * @param nodeId
	 * @param state
	 * @param date
	 * @return
	 */
	public int searchTaskNum(Integer sourceType, Integer nodeId, String state,
			Date date);

	List<ApprovalDto> gryApp(ApprovalDto record);

	int[] updateApp(ApprovaTaskStageDto taskStage);

	int updateTask(int[] taskIdArr, int isCheck, String desc);
}
